Have you got a sitemap.xml file? I'd highly recommend putting one in place and ensuring it's dead accurate.
Submit it to Google Webmaster Tools and they will highlight any errors they have accessing those files, making it a useful way of finding some technical issues.
I've found recently that pages Google crawled that I had blocked accidentally were then very hard to get indexed after fixing the issue. As in, 2 weeks later still not indexed which is highly unusual in my case. By adding the relevant page into a sitemap, it spawned inclusion of that page by the next day.