I get that social desirability bias is a thing, and that those with views considered socially unpopular are less willing to share them. But for a hypothetical Shy Tory effect to have an effect on polling you'd need something like all of the following:
* Tories to be unwilling to admit to voting Tory (plausible);
* Tories to claim to be voting for someone else, instead of refusing to answer, as if they refuse to answer then the demographic weighting will increase the impact of similar respondents who will tend to also be Tories (somewhat less plausible);
* The source of errors from the above to outweigh other known problems such as turnout modelling, non-response bias, demographic variations in telephone/Internet access, late changing of minds, anti-Tories in Tory areas doing the same things for the same social desirability reasons (I suspect it wasn't any more fun being a Hillary supporter in Trumpland than a Trump fan in Hillaryland this cycle), and so on.
Polling is not easy. Its statistical guarantees are only valid under circumstances that basically don't hold, and there is a great deal of variation due to design decisions which cannot be empirically grounded. You don't need a "shy Tory" effect to produce the misses seen recently, and the evidence doesn't support it happening on a scale big enough to have any impact at all.