The guy with the great name is right - however, on commercial web servers this is hard (if not impossible) to do. If you're running your own web server it's a lot easier - otherwise, you may have to ask your web hosting service to designate a special 404 page for you.
You could also change the backbone of your site by, say, using a little php publishing engine, in the form of links like:
http://www.mysite.com/showpage.php?page=home
If the page variable points to a page that doesn't exist, it's very easy to write an error message in the showpage.php document that spits out your own custom "Not Found" page. It's what I'm migrating over to...