Apply all modifiers, .poll() a bpy operator with keyword argument?
The short answer is no, poll checks that the basic context is valid but it doesn't do extensive checks that every operation will succeed (It's often not trivial for tools to know this ahead of time)

You can simply use exception handling for this.

for mod in ob.modifiers:
    try:
        bpy.ops.object.modifier_apply(modifier=mod.name)
    except RuntimeError as ex:
        # print the error incase its important... but continue
        print(ex)




In this case I think you would be better off using,


bpy.ops.object.convert(target='MESH') - converting a mesh to a mesh will replace the mesh with a version that has modifiers applied.
Object.to_mesh() - gives you most control, uses Pythons internal API.