Synonyms are words which have the same or nearly the same meaning in the same language.
Antonyms are words which have opposite meaning in comparison to the other.
Option B)Generous is correct as the word niggardly means ungenerous with money, time, etc.; mean while the word generous means showing a readiness to give more of something, especially money, than is strictly necessary or expected.. Both the words are opposite in meaning.
The other options are incorrect as penurious means extremely poor; poverty-stricken, liberal means willing to respect or accept behaviour or opinions different from one's own; open to new ideas, and nimbus means a luminous cloud or a halo surrounding a supernatural being or a saint.