Chris Wilder's return to Oxford looked set to be a winning one as Ivan Toney put Town in front on 38 minutes.
But MacDonald levelled the scored as the game moved into additional time.
Northampton now lie 7 points behind the play-off places with three games remaining, still with a mathematical chance of going up.
Speaking to the official NTFC website after the game, Wilder said: "We played well in difficult conditions and we were the better team football wise but the strong sides see games out and that’s what we need to be next year."