No nscd daemon on my CentOS box, where/how does DNS caching happen then?

Server:

You can test if a DNS resolver is caching DNS results by looking at the timing output of "dig".

dig ohdns.org | grep sec
  ;; Query time: 146 msec

If you make the same query twice and see a small number, close to 0msec, then your nameserver in /etc/resolv.conf is caching results. I would expect the name server you have listed in /etc/resolv.conf to cache results that you query.

Client:

DNS caching does not happen by default in CentOS. You would have to enable nscd, bind, unbound, dnsmasque or some other DNS caching mechanism.

You did not mention the background of this request. If this is application specific, that can also be a factor. For example, Firefox will cache DNS results as well. Some server applications can also cache DNS results, such as Java. Java and DNS cache are a fun and complex topic.