The answer to your first question is that it depends on your current Apex environment, and knowing nothing of your current setup, the answer is still "it depends". One point to note though is that your second message suggests that you are using the EPG as your web listener. You should be aware that Oracle does not recommend the EPG for production use, mainly for the reason of performance.
In general, a well designed and tuned application should not require a huge investment in infrastructure to support hundreds of users. You should also note that the number of concurrent users is not always a good measure of the load on a system. A better measure would involve some sort of dynamic such as page views or transactions per time period.
I agree with Andre, it all depends on your specific application and infrastructure setup.
If you would like to stress test your current setup/application jmeter is a great and easy tool to quickly see when your database will be overloaded.
Check http://one-size-doesnt-fit-all.blogspot.nl/2009/06/stress-load-testing-web-applications.html for a guide how to set this up.
p.s. If you switch from EPG to apex listener you're probably able to serve much more concurrent sessions
Thanks for the reply Andre,
There are 40-50 pages on the whole application out of which 10 are fully loaded with Process and dynamic actions, and yes currently its running on EPG, please suggest me for tuning up the application, or shall I change the web listener? to improve the End-User Experience
Definitely, moving to an external web listener would be a step in the right direction. Oracle seem to be pushing the Apex Listener as the one of choice but the end decision is up to you.
As far as tuning your application goes, that can be a complete subject on its own. As a general direction though, the first step in performance tuning is information gathering of all aspects of your applications performance. Once you have a good idea of what is slow, then you can accurately target the specific performance issues.
As stated before, this is something that is difficult to put an exact figure on. You have to remember that Apex works with a connection pooling mechanism in all web listener configurations. This means that from a performance point of view, the salient performance metric isn't how many users are connected to the application, but how busy the database connections in the connection pool are. This means that the answer is very much dependent on the features, design and user profile of the application.