You can achieve this by creating a custom script in the Processing Toolbox which you can then add to your modeler. To create one:
Processing Toolbox > Scripts > Tools > Create new script
Then add the following code:
from qgis.core import QgsVectorJoinInfo
layer_1 = processing.getObject(Target_layer)
layer_2 = processing.getObject(Join_layer)
joinObject = QgsVectorJoinInfo()
joinObject.joinLayerId = layer_2.id()
joinObject.joinFieldName = Join_field
joinObject.targetFieldName = Target_field
Make sure it is saved in
C:\Users\You\.qgis2\processing\scripts for it to be available in the Processing Toolbox (you may need to close the script for the toolbox to update itself).
When you run the script, it should look like this:
where the user can choose the layers and fields to join. This has been tested in the QGIS modeler using QGIS 2.12.3-Lyon.