Зачем Rewrite Engine, есть же директива ErrorDocument:
ErrorDocument 404 /404.php
Может быть использована в контекстах: global, virtualhost или directory. Можно и в htaccess использовать, но тогда должно быть AllowOverride установлено в значение FileInfo.