384 MB enough for a starter VPS?
That really depends on your applications. You might want to consider running a VMWare image with the same OS and amount of memory allocated, deploying your 10 or so small websites to that image, and running a stress test against the image that emulates the approximate traffic you expect.
Why not run some tests locally with those sites, and measure their memory usage? It's too hard to say otherwise, without knowing exactly what your sites are doing.
I am presently running multiple VMs at work. With 256Mb I can comfortably run Apache on CentOS with PHP. So, you should be able to handle it with 384Mb. Unfortunately, if I am not able to run java/Tomcat on it until I increase the memory.
Depends on the kind of VPS technology used. If the provider uses OpenVZ/VServer, you will be able to save several tens of MB of memory from running the Linux kernel. However, if it uses something like Xen, you will need to spend some memory on the Linux kernel.
If you do not need to use Apache, avoid using it. There are plenty of other light-weight web servers around. You have already mentioned nginx. You can also try lighttpd and I think that many RoR sites use it.
There's no way you're going to be able to get acceptable performance out of that configuration. The 4 Rails apps will take more memory than that on their own, before you start looking at Apache and (especially) MySQL.