Does my opponent have to sacrifice a creature?
No. The Heroic ability only works if the creature you target is a permanent on the battlefield. Most abilities only work from the battlefield. From rule 112.6:
There's a few exceptions, but the ones regarding activated or triggered abilities are i and j. They're quoted in full below. The basic gist of these exceptions, and rule 112.6, is that no activated or triggered abilities work outside the battlefield — unless it involves a cost or trigger condition that can't work on the battlefield, in which case it works wherever it can work.
A good example of these exceptions (specifically exception i) is Scavenge or Bloodrush. The former requires you to exile the card from your graveyard, and the latter requires you to discard it (and cards can only be discarded from your hand, nowhere else). Since those costs can only be paid somewhere outside the battlefield, Scavenge works inside your graveyard, and Bloodrush works inside your hand. (But that's the only places they work, since their costs can't be paid anywhere else.)
Since Heroic works just fine on the battlefield, though, it isn't covered by these exceptions (specifically the one regarding triggered abilities, exception j) and doesn't get to work elsewhere too.