I think being able to sing has a lot to do with practice. Most people in my family can sing. I don't think that has to do with his being talented, but more to do with us being made to sing since we were young.
I guess the reason I know that I can sing is because I'm exposed to it all the time. Although, I wouldn't say that I'm a great singer. In fact, as my exposure and knowledge of singing increases, I realize more and more that I'm not that good lol.
As for training someone with a bad voice, it would depend on why the voice is bad. If the person has poor tone, then there's not much you can do. But if their technique is poor, then you can certainly train them to sing better. I've heard people sing with really poor technique (like cringeworthy), but have a good tone and I always think to myself that they would have so much potential if they got training. On the other hand, I've heard people with years of training, and while good, their tone wasn't exceptional.