How can I lead to 404 Page Not Found when View page has no result?
You should use the drupal_not_found() function. It sets the correct headers, omits blocks from the page output to conserve CPU and bandwidth, and is the correct way to set a 404 through code in Drupal.

Also see drupal_access_denied() which might be useful.