Any ideas how to setup cache for rendered html on nginx level and how to flush it when it's needed? On high load websites calling phantomjs instance with each request can be bad idea, am i right?
Well, you should only call PhantomJS when Google asks for a page.
Sure, you could implement caching, but with caching comes cache invalidation and you're entering a world of pain.
But if you really want caching you can have Nginx cache the pages to disk for you, or use Varnish.
But then again remember you're only serving these pages to bots.