Do all nodes of a SQL Always-on Availability group need to be the same version of SQL?
Yes, you can absolutely do this. I've done this with several 2012 to 2016 migrations and not encountered any issues along the way.

Just bear in mind, you will not be able to fail back to the 2012 instance once you fail to that 2016 replica, and until you have more 2016 replicas you will not have any HA in place.