SaveDefinitions -> True should do the trick, usually, but sometimes it's more reliable to use the Initialization option of Manipulate to make sure all necessary definitions are made before the Manipulate tries to run.
Example from the documentation:
Manipulate[f[x], {x, 0, 6},
Initialization :> (
f[z_] := Range[z]
)
]