Error when creating a custom ErrorDocument 404 in apache

You don't use the full path in ErrorDocument. Its relative to your htdocs root

http://httpd.apache.org/docs/2.0/mod/core.html#errordocument

if your root is /var/www/site/public/

ErrorDocument 404 /404.html

You can also do a full url

ErrorDocument 404 http://domain.com/404.html

EDIT

You can do this for each vhost then

Alias /404 /full/path/to/404.html
ErrorDocument 404 /404