Yes you can, the first post in this thread contains the code doing exactly that.
In fact, until some version a few years ago it was possible to call Invoke.
Still, if the method reference type has {$M+} enabled you can get RTTI for its Invoke method and dynamically invoke it. And there are more than one (Spring) libraries that do that.
Also please let's get the terminology right - this is something that hugely annoys the heck out of me - because when talking about this subject everything is being called anonymous method but is incorrect.
TProc = refererence to procedure;
This is a method reference type - yes, even the official documentation is a mishmash. There is nothing anonymous about this type - it has a name: TProc.
procedure Foo;
begin
end;
var
p: TProc;
begin
p := Foo;
end.
Again there is no anonymous method in this code - the variable p of the method reference type TProc is being assigned. The variable has a name and thus also is not anonymous.
var
p: TProc;
begin
p := procedure begin end;
end.
Now we have an anonymous method - the code block assigned to p has no name. This is an anonymous method that is assigned to the method reference variable p.
Also see:
https://en.wikipedia.org/wiki/Closure_(computer_programming)#Anonymous_functions
https://en.wikipedia.org/wiki/Anonymous_function