Evaluating a List of Functions

MapThread[Function[{x, y}, #] @@ #2 &, {list1, list2}]
{0.395687, 2.53879, sin[0.7], 0.445916}

Old misunderstood:

list1 /. Thread[{x, y} -> #] & /@ list2

{
 {0.395687, 2.40955, sin[0.5], 0.395687}, 
 {0.431862, 2.53879, sin[0.6], 0.431862}, 
 {0.448831, 2.7269, sin[0.7], 0.448831}, 
 {0.445916, 2.9709, sin[0.8], 0.445916}
}

another version

list1 /. {x -> #1, y -> #2} & @@@ list2

{{0.395687, 2.40955, sin[0.5], 0.395687},
 {0.431862, 2.53879, sin[0.6], 0.431862},
 {0.448831, 2.7269, sin[0.7],  0.448831},
 {0.445916, 2.9709, sin[0.8], 0.445916}}