The question isn’t that simple, actually.
Yes, you can have multiple internal servers using Zeroshell with only 1 public IP. However, there are some distinct limitations.
You can choose to forward each port to a different IP. Thus, something like Port 80 – HTTP traffic – could be forwarded to one machine while say port 27015 (Source Game Server) could be forwarded to another.
As long as you only wanted to see one VPS (which I assume means virtual private server) handling each port of traffic – thus all ‘web servers’ at port 80 on one private IP – this works.
If you are trying to figure out how to host a separate domain (http://www.yoursite1.com and http://www.yoursite2.com) each on a different internal server using 1 IP, then you need a reverse proxy which understands host headers. That is a more complex topic, and currently I have not seen a way for Zeroshell to do that.