yes, there are many ways to calculate (or estimate) binding free energies from MD simulations. They are all based on statistical mechanics and in principle you would need to simulate over all phase space to calculate free energies. But you can use a thermodynamic cycle and take another path (not the binding process itself), as the free energy is a state function.
I would recommend the double decoupling method (DDM) for protein ligand binding free energies. It is an alchemical perturbation approach where you decouple your ligand from the system, free in solution and when bound to the host (protein). You keep the ligand in a fixed position (the native conformation, or the conformation you are interested in) when bound, using a distance restraint (that is gradually introduced while the ligand is decoupled into a non-interacting dummy) to avoid sampling of irrelevant phase space.
For evaluation of the free energy (of both systems) I would use TI (or extended-TI) or BAR (or MBAR). You can then calculate the free energy by use of a thermodynamic cycle (you just have to be aware that you also need to include the free energy of the restraint, but this can be calculated analytically).
I am using the GROMOS Software, but you can also use any other MD engine.
For use in GROMOS, we have written a Tutorial for such a system. If you would like, just have a read (it is Tutorial 2):
Article A Suite of Advanced Tutorials for the GROMOS Biomolecular Si...
we also provide all the input files for our example system (Aspirin to PLA2) in GitHub.
There are many methods that can calculate binding free energy between a ligand and a protein, e.g., FEP, TI, Umbrella Sampling, Jazynski Equation and so on. Umbrella sampling is highly recommended. Here is a tutorial of umbrella sampling in Gromacs that you can follow. Take it and you are welcome.