You most likely want to use
su -
su - nobody
and then run ssh-keygen as nobody. (The initial
"su -" is only needed to allow you to
"su - nobody" even if the nobody userid doesn't have a password, which is almost always the case. If you aren't the sysadmin, you will need his help for this, of course.)
This is probably much safer in the long run than trying to change the userid that Apache uses; there are a lot of security considerations to setting up an Apache userid without adding security holes to your system. In particular, if you have SELinux installed (typically Red Hat and Fedora will have it by default) there are a lot of rules that are specific to the nobody account. All other things being equal, you probably don't want to expend the effort to have to copy all those rules and then keep them maintained.