Whether it is OK to host both staging and production on the same VPS is entirely up to yourself. There's certainly no laws prohibiting it, but depending on your situation there may be very good reasons for not doing it.
From what you are saying, I am assuming that you will be hosting many different websites on your production setup. In my own experience, you definitely want your production server to be something you touch as little as possible. When a site is ready to go live, it is transferred there and put live. You don't want to be constantly mocking around in a shell connection or uploading stuff to your production server. Things will go wrong at some point, especially if you have a lot of different clients on it. Mistakes happen (especially when you get to the point of having a few extra employees also working on the sites), and correcting mistakes is much easier on a non-critical staging server. Especially if you end up hosting webshops and other sites where minute-to-minute data is critical. Deleting half a days worth of shop transactions from a database can be catastrophic.
In short, the small extra cost of a separate staging machine is well worth the extra flexibility and safety it buys you. Create the best system you can think of from the beginning. It will pay off in the long run.
This is all my personal opinion, but since the question is itself of subjective nature, I will give it anyway. It's not based on "hard facts" but on 10 years experience as a hosting provider.