How does Mac gather printer information (mainly driver) after a printer is selected in the list of printers to add?
After carefully looking at the DNSCache and Network:

More details on dns-sd.org however in short, for everything to work correctly, following four DNS Records for each printer are needed on client side in case of airprint/secure airprint:


PTR record of type _universal._sub._ipp/ipps._tcp  (lets call it universal): needed only if printer is airprint compatible (see dns-sd.org)
PTR record of type _ipp/ipps._tcp (lets call it ipps)
SRV record
TXT record


SRV record tells about the service related data (server/port etc.) and TXT record tells about the printer capabilities.

On Mac, "ipps" and "universal" records are queried by different processes (printtool and PKBrowserServic respectively). From observation: Queries of "universal" records by PKBrowserServic are more frequent than queries of "ipps" records by printtool. So, in a scenario: it has universal records but not ipps, it won't identify the driver. 

To answer the original question: when a printer is selected, it queries for SRV and TXT record (based on universal or ipps records which are in cache already, thats how we see the printer in the list). If printer/print server is not available or if ipps record is missing, mac won't be able to do 'Auto Select' for the driver.

This problem can be fixed in multicast by self-querying both universal and ipps before TTL of the records expire so that the caches of all mac clients are updated.

In case of unicast, mac has high TTL of universal/ipps records, so it might take some time for ipps record to be updated in the cache in a new network but in few minutes (max 10 mins from observation), it has both ipps and universal and the issue does not exist anymore.
Another way to handle it quickly is to clear cache (sierra: killall -HUP mDNSResponder)