So is there any workaround
No
or I will have to render the content with some server side technology on the first init?
The point of using pushState and having real URLs is that it lets you failover to server side technology (and to generating initial views using server side, which is usually faster then doing loading a default view in JS and then changing it after making extra Ajax requests).
I've heard that phantom.js can do this job?
I support you could use phantom.js to look at the URL, request the initial page, run the JS needed to change it to the page at the specified URL and then server that up… but it sounds like a pretty inefficient solution.