If your running on a linux platform, this is affected in the .httaccess file in the root of the domain. For example my 404 file,
www.arch13.com/404 is set this way, as well as my 504 errors.
On an MS platform, this is set via root services and must be done by your server admin. in asp, this is simpler. Do a google for "asp 404" in quotations.
If this is your ISP as host, they may lock your .httaccess or root services on basic ISP free space. In fact most do. You'll need to have an actual hosting plan for the ability for custom error messages.
Additionaly, no respectable free server (geocities, etc...) will allow you access to root domains. thats why their free.
You can change the errror message on YOUR machine when a page can't be found, but that's just a customazation of your installed IE and would not be what others see in a 404 error.
The answer to that is in the MS knowledgebase under the IE section.
HTH