I was able to get an accurate answer from VIA. FlexCAN is not a module, so lsmod will not work to discover if the device driver is actually installed. Instead, one should execute "dmesg | grep 'can\|CAN'" once the device first starts (or within a reasonable time period from it starting). The results should be similar to the ones below:
[ 0.000000] vcan: Virtual CAN interface driver
[ 0.000000] CAN device driver interface
[ 0.000000] flexcan netdevice driver
[ 0.000000] flexcan imx6q-flexcan.0: device registered (reg_base=c09e8000, irq=142)
[ 0.000000] flexcan imx6q-flexcan.1: device registered (reg_base=c09f0000, irq=143)
[ 0.000000] can: controller area network core (rev 20090105 abi 8)
[ 0.000000] can: raw protocol (rev 20090105)
[ 0.000000] can: broadcast manager protocol (rev 20090105 t)
There may be some differences in the messages printed (for example, I do not see anything related to vcan). If you do not see similar results and it has been a while since you started the microcontroller, you can try to execute "ifconfig can0 down; ifconfig can0 up" then "dmesg | grep 'can\|CAN'" and you should see a line similar to above with the word flexcan in the message. If you do not see any of these messages, FlexCAN is probably not installed; however, VIA does set FlexCAN to be installed by default in the defconfig file for BitBake.
To integrate with the CAN bus, VIA uses both SocketCAN and can-utils. VIA provided this link to examples of programming with the SocketCAN framework.