This is the first time I'm seeing a comparision between OPC-UA and MQTT. Keep in mind, that OPC-UA shines most for SCADA systems, MQTT is very good for Publish/Subscribe messaging over unreliable networks like mobile networks.
If low overhead is what you need, MQTT may be a much better fit. This, of course, majorly depends on what your use case is.
MQTT is a broker based messaging protocol where the payload encoding and content is completely application specific. Therefore it would be useful if you want to send messages between two applications developed by you.
OPC UA is an architecture (OPC Unified Architecture) where a communication protocol is only a part of the topics addressed. An OPC UA application is able to expose a full meshed network of Objects, Variables, Methods and data structures in an object oriented way. The communication today is based on a client/server model where the server exposes a set of standard services to navigate through the available object, read and write data, call methods or subscribe for data changes or events.
You may find this link useful if you're interested in the MQTT overhead: http://stephendnicholas.com/archives/1217
If you're looking for in MQTT and security, this may be helpful to you: http://www.hivemq.com/introducing-the-mqtt-security-fundamentals/
If you're getting started with MQTT, this will prove to be valuable for you: http://www.hivemq.com/mqtt-essentials-wrap-up/