Alexander Zverev came from behind to beat Kei Nishikori and set up a quarter-final meeting with Rafael Nadal.