League Two Bradford had already come back from 1-0 down to force Tuesday night's tie into extra-time when they were awarded a free-kick on the edge of the penalty area in the 100th minute.
Simon Ramsden's low right-foot shot was blocked by keeper Lee Camp and, in the ensuing scramble, Hanson - last season's leading scorer - forced the ball over the line.
Earlier, Bradford had keeper Jon McLaughlin to thank for a string of fine saves that kept them in the tie.
But he was unable to stop Matt Thornhill putting Forest ahead after 36 minutes, rifling the ball into the net with a low right-foot shot after the home defence had failed to clear Chris Cohen's cross.
Tyson saw a snapshot saved by McLaughlin before firing wide with only the keeper to beat, and Bradford made Forest pay for those misses by equalising after 57 minutes.
Hanson flicked the ball into the path of new signing Jake Speight, who forced it past Camp and midfield player David Syers, who has joined Bradford on a non-contract following a pre-season trial, gave chase before turning it into the net.
Tyson then hit the post and McLaughlin made another great save, diving at the feet of substitute Blackstock in the last minute to send the tie into an extra half-hour.