applying compound function on parts of list

MapAt[First @* Last @* FactorInteger, t1, {All, -1}]
 {{1, 2}, {2, 5}, {3, 5}, {4, 17}, {5, 7}, {6, 41}, {7, 29}}
MapAt[FactorInteger /* Last /* First, t1, {All, -1}]
{{1, 2}, {2, 5}, {3, 5}, {4, 17}, {5, 7}, {6, 41}, {7, 29}}

Also

Transpose[{#, Map[First @* Last @* FactorInteger] @ #2}] & @@ Transpose[t1]
 {{1, 2}, {2, 5}, {3, 5}, {4, 17}, {5, 7}, {6, 41}, {7, 29}}

Another option might be

 max[y_] := Max[FactorInteger[y][[All, 1]]];
 Cases[t1, {x_, y_} :> {x, max[y]}]

Mathematica graphics

The same thing can be done using /.

 t1 /. {x_, y_} :> {x, max[y]}

Mathematica graphics

Another might be

 {#[[1]], max[#[[2]]]} & /@ t1

Mathematica graphics

In Mathematica, the rule of thumb is that there are at least 10 different ways to do the same thing. Which one is best can depend on what style you prefer and performance of each method.