Si quieres lanzar un error 404 con código PHP puedes hacerlo con la función header(), que envía datos en la cabecera del http.
header("HTTP/1.0 404 Not Found");
Ten en cuenta que para enviar un error 404, o cualquier otra cosa en las cabeceras del http, no tienes que haber escrito nada antes en la página. Es decir, no haber enviado ningún texto al navegador del usuario.
Si eso no funciona, prueba:
header("Status: 404 Not Found");
Pues creo que dependiendo de la configuración del servidor funciona una u otra sentencia para enviar el código de error.
En último caso, algo que he hecho yo por asegurarme, que no se si será del todo correcto, es escribir las dos cabeceras de error 404:
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");