Parece que os outros dois navegadores podem estar enviando um cabeçalho Host diferente, que normalmente precisaria corresponder ao ServerName ou ServerAlias do VirtualHost.
Use as Dev Tools (F12) do Chrome para ver os cabeçalhos de solicitação sendo gerados e enviados, especificamente o valor Host: xxx . E faça o mesmo no Firefox.
Depois, certifique-se de que seu VirtualHost tenha o mesmo valor definido como ServerName ou ServerAlias .
Se isso é o que está acontecendo, então o Apache está retornando o VirtualHost padrão ou o contexto do servidor raiz, que pode ser definido como Deny All .