What's the opposite word for "sin"?
English does not have a precise word for the opposite of sin in the sense you mean, so you'll have to be content with adjectives: the opposite of "I committed a sin" would be "I performed a good/virtuous/righteous/moral/meritorious act/deed". (Note that the noun forms of these adjectives won't work: goodness has a very wide range of meanings; virtue refers to qualities inhering in a person and carries no connotation of action unlike virtuous act which does, etc.)
As you're writing for an Indian audience, the word you have in mind that's already familiar to your audience (puṇya) is a perfectly good choice to use. The criterion should not be whether a certain word exists in an English dictionary or not, but whether your audience will understand the word or not.
Further thoughts: English doesn't have have a word for the opposite of sin, because sin is a religious concept, and mainstream Christianity doesn't have a concept that's the opposite of sin; neither have English speakers found it necessary (yet? :p) to invent a word for the concept. In a non-religious framework for ethics, of course, there is no such thing as sin either; though certain acts may still be called unethical or wrong or by other terms.
I'm no expert on Christian theology, but it seems that according to that framework, one is born in a state of some sin, and although one can commit further sins (acts against God's commandments), one cannot automatically reduce the effect of those sins simply by performing other good acts. Judaism has a concept of mitzvah, an act that carries out a commandment of God, which may be an opposite of sin in that sense. The concept you may be getting at, prominent in Indian religions (Hindu/Buddhist/Jain/Sikh) comes from a different model, in which there's something like a moral bank balance (karma) in which you can either lose credit through sin (pāpa, acts against some cosmic order of right and wrong) or gain credit/merit through good deeds (puṇya).
All that is not important, but if by the opposite of sin you're referring to something like the latter concept as informally understood by your audience—with a slight theological connotation as something that brings merit to the doer—then the term puṇya you were thinking of is precisely the right term to use. Using a generic phrase like "good deed" may not convey the intended meaning unless the context is understood (such as in translations etc., where "good deed" and "meritorious act" are indeed used).
The antonym of sin is good deed. Sin means an action that is against religious rules, so the antonym should be in accordance with religion.
According to many dictionaries virtue is the antonym of vice. Because it's referring to something moral rather being religious.