I think the referendum will happen, as the Tories I think are likely to 'win' the next General Election. However I don't think the public will vote to exit. Once 'Europe' is personified during the campaign as cheap foreign flights and employment rights, rather than Romanians and bendy vegetables, people will be reluctant to vote to exit.
I expect to see an renenactment of the Scottish referendum. No leads, a bad poll gives Yes winning, Europe promises things, No wins, Europe changes its mind about the promises.
I doubt "Europe" will promise things, that's the system simply too rigid and slow to do, in fact if Cameron do win next election, they will likely find some popular goodies with little practical effects, he can bring home to UK before the election.