In theory: Yes.
However, as any controller you will find thinks it's the boss of the network, it will remove anything the switch puts in flow tables on its own. I.e., as soon as the controller connects to the switch, tables are flushed.
If you are looking to implement something like this, just imitate the process of the OpenFlow protocol implementation. A packet arrives, switch does not know what to do, asks controller, controller tells switch what to do.
Where you start in this chain is up to you. You could, for example, introduce a new action which triggers an upcall. Or you implement this with an autonomous thread running in the bridge. Or you build an application on top of each switch which receives commands from somewhere and modifies flow-tables with the ovs-* binaries. Or you look into what switches do when they are not connected to a controller.
In practice, Open vSwitch already does this, as it applies the flow-mods it receives from a controller. All you need to figure out is where these flow-mods should come from. But to help you with that, additional information about your scenario is needed.