If you model the object with the axis aligned to a standard axis, and then rotate it into place, the local axes will match the rotation.
Global Y-axis:

Local Y-axis:

If you've already modeled your object, then what Ron Jensen describes above might be easiest.
Here I created an Empty (I chose the "Single Arrow" type just for clarity), and then lined it up with the rotation axis I want:

Then select the wing FIRST, and the arrow SECOND. Hit Ctrl+P, and choose the first option (Set Parent to Object):

Then rotate along whichever local axis points in the direction of your arrow. In my case it's local Z, because of the way I rotated my arrow. Yours may be different:

In case you don't know how to rotate locally, from the keyboard it's 'R', then 'Z', then 'Z' again (to rotate in local Z; 'R', 'X', 'X' for local X, etc.). You should see the axis line change so you can see if it's the axis you want.
The neat thing is that you should be able to rotate the empty or move it around and the local axis should still work:

In your case you'd want to parent it to the main body/fuselage so wherever you move that, the wing follows.