Sites using HTTPS are still vulnerable on a public WiFi access point if you don't use a VPN. To give an example, an attacker can perform session hijacking:
How so? Effectively with a MITM attack the attacker becomes a router. Users don't connect to sites directly, the attack can be made transparent at the user level.
The only way one can MITM an https connection is by terminating the https connection at the level of the attacker and presenting an http connection to the user, hoping he won't notice the absence of the green https lock.
The attacker cannot serve to the victim a valid certificate for facebook.com unless the facebook.com private key or a CA has been compromised.
Alternatively the attacker could try a close enough domain (facebooks.com, or something) that it controls and for which it can get valid certificates, and redirect the victim hoping the user won't notice the slight difference in domain name.