Selfish and generous are two different concepts, so one need not be one or the other.
The opposite of selfish is selfless, not generous. This isn't just about being picky with words. There are important philosophical differences that can have a huge impact on one's life.