It says that the due supports CAN comm protocol so does that mean the due acts as the CAN controller handling arbitration and as transceiver? And is there open source can API out there to use with the due?

Yeah, the thread is long. Buried in there are schematics to make boards, offers of boards already made, and the library. I can at least help with the library portion. I maintain it and it is found at: https://github.com/collin80/due_can There are examples in there of how to use it. It's not perfect. I really should work on it some more but I keep getting busy. Still, it has been tested to work on a variety of projects. If you have questions feel free to ask me directly or post to that super long thread. I do check it frequently.