There are two ways this is easily achieved.
1) use windows as primary dns via dhcp , and tell it to use m0n0wall as it's upstream dns server
2) use m0n0wall as primary dns via dhcp, and tell it to use windows for any queries for your windows domain (last option on dns forwarder page)
you can set multiple forwarders in m0n0wall then, and enable 'all servers' option to make sure you use the fastest one. you can use your isp's forwarders, or specify them, like freedns , or google public dns
http://code.google.com/speed/public-dns/