Is this windows dns server?

Test using nslookup to check it always resolves correctly. You may find that sometimes it times out - this would cause the server to try its other dns servers (forwader/root hint).

From this thread DNS Conditional Forwarder to Azure stops working ErkinD39 advises two useful options for the conditional forwarder. Set using PowerShell you can change the timeout -ForwarderTimeout and also set it to not use recursion if it fails : -UseRecursion $false

1 Spice up