You can try dumb substitutions:
Integrate[
Cos[x Sinh[t]] Dt[t] /. First@Solve[x Sinh[t] == u, t, Reals] /. {Dt[u] -> 1, Dt[x] -> 0},
{u, 0, ∞}, Assumptions -> x > 0]
(* BesselK[0, x] *)
The above converts the integral to almost the same as in @MarcoB's comment.
Here's a general function to do the above more or less automatically:
ClearAll[trydumbsubs];
SetAttributes[trydumbsubs, HoldAll];
trydumbsubs[Integrate[f_, {t_, a_, b_}, Assumptions -> hyp_]] :=
Module[{subs, sub, res = $Failed},
subs = SortBy[
DeleteCases[DeleteDuplicates@Cases[f, (g_)[arg_] :> arg, {0, Infinity}], t],
-LeafCount[#] &];
Do[
sub = Solve[arg == u, t, Reals];
If[ListQ[sub],
res = Integrate[
f*Dt[t] /. First@sub /. {Dt[u] -> 1, _Dt -> 0},
{u, Limit[arg, t -> a, Assumptions -> hyp],
Limit[arg, t -> b, Assumptions -> hyp]},
Assumptions -> hyp
],
res = $Failed];
If[FreeQ[res, Integrate | $Failed],
Return[res]
],
{arg, subs}];
res /; FreeQ[res, Integrate | $Failed]
];
OP's example:
trydumbsubs@ Integrate[Cos[x Sinh[t]], {t, 0, Infinity}, Assumptions -> x > 0 && t > 0]
(* BesselK[0, x] *)
Integrate[Cos[x t]/Sqrt[t^2 + 1], {t, 0, Infinity}, Assumptions -> x \[Element] Reals]
, which returnsBesselK[0, Abs[x]]
. Mathematica only "knows" the special integrals that it was taught... $\endgroup$