How to apply a texture on a specific geometry face?

Not with geometry brushes as they generate a single material element.

If you want a single mesh with different parts using different materials, you’ll have to create it externally. In your 3D modelling software, there should be a way of selecting groups of polygons and setting them to separate materials, so that when you export to FBX to bring into UE4, the FBX import recognises them as different material elements, so you would see Element 0, Element 1, etc. in the Materials section of the Details panel.