This is very culture dependent. And dependent on the person as well. The obvious thing is that you don't embarrass the sender in front of others unless you want to start a confrontation, so send whatever message you send only to the original sender and not anyone else.
From my point of view, I make mistakes, and if you find them, you tell me and I fix them. I'm happy if you tell me because that way the mistake gets fixed. Sometimes mistakes are embarrassing, but you are not embarrassing me by telling me, I am embarrassing myself by making stupid mistakes. And if you make mistakes, I will tell you and expect you to fix them. But that's just me. Other people will be different.
On the other hand, if you sent a message "Oops! Looks like you forgot the attachment (we've all been there!)" as suggested, I would take it as condescending and annoying. Again, that's just me. gnack who suggested it would obviously be quite happy receiving this message. So the same message to different people will be received differently.
For a sender whom you don't know personally, a neutral message like "I didn't get the attachment, can you resend it? " should be fine - if someone takes offense with that, it's their problem.