Hi,
actually, I believe both puppetmaster and dashboard use passenger.
The idea behind apache's virtual hosts is that you can have independent
sets of configuration applied to different ports, or different IP
addresses available on the same server.
What you need to do is adding *both* <VirtualHost> blocks to your apache
config.
What platform is this? On Debian-likes, those go in
/etc/apache2/sites-available (with symlinks in sites-enabled/), for
RedHat-ish systems the structure in /etc/apache2 is slightly different,
but it should be easy to find.
HTH,
Felix