I have my main network on X0 on the Sonicwall NSA3500 and use a DHCP server on a linux box in my main network. This subnet is 192.168.20. I have a Wireless Access Point connected to the X3 interface on the Sonicwall. Can I use the Sonicwall DHCP server for this interface to give IP addresses (different subnet) to the Guest computers or do I need to use the existing linux DHCP server and configure it with multiple NICS?
Because it's a different subnet you can use the DHCP on the Sonicwall - however, you will have to configure the DHCP for the specific scope you're looking for and ensure it's only for that subnet, and be sure that subnet is excluded from your other DHCP server.
Unless there's a specific reason to use just that subnet (e.g. wireless intrusion detection/protection, etc), you will be better off using a single DHCP for all of your network, if for no other reason than it's a single place to configure and troubleshoot, and has fewer points of failure. This assumes the AP is intended for internal users (e.g. employees with their laptops or mobile phones). However, if you're using the wireless scope for end-users, customers, the public or anyone you don't particularly trust with the safety of your network, then keeping it on it's own subnet is a very good risk-mitigation and security strategy.
In the latter case, instructions for configuring DHCP on a Soniwall can be found here: http://help.mysonicwall.com/sw/eng/305/ui2/23100/Network/Dynamic_Range_Configuration.htm